#include <iostream>

using namespace std;

namespace A
{
	struct A1
	{
		int _i = 0;
	};
}

namespace B
{
	struct B1
	{
		int _i = 1;
	};

	A::A1& operator<<(A::A1& a, const B1& b)
	{
		a._i = b._i;
		return a;
	}
}

namespace B
{
	void f()
	{
		A::A1 a;
		cout << a._i << endl;
		a << B1();
		cout << a._i << endl;
	}
}

int main()
{
	B::f();
	return 0;
}